import socket

# TCP协议 实现客户端与服务端即时通讯案例。

# 1.创建客户端socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#
server_addr = ('192.168.13.235', 8000)
# 2.客户端与服务端建立连接
client_socket.connect(server_addr)

# 3.发送消息开始通讯
while True:

    # 客户端发送消息给服务端
    # 客户端传输给服务端的信息转换成字节的参数传递给 send(msg)方法
    msg = input(f'客户端>>').encode('utf-8')
    # send(msg) tcp中，用send()来传输，参数不需要有绑定的IP和端口
    client_socket.send(msg)

    # 4.客户端接收来自服务端的信息
    server_msg = client_socket.recv(1024).decode('utf-8')
    # 如果服务端信息是exit终端聊天，退出循环，关闭socket
    if server_msg == 'exit':
        break
    print(f'来自服务端IP：{server_addr[0]}，端口{server_addr[1]}的信息：{server_msg}')

# 5.关闭聊天，关闭socket
client_socket.close()
